import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex);

//新建一个VueX仓库
const store = new Vuex.Store({
    // ...
    // 定义的就是仓库中要操作的数据
    state:{
        count:100,
        set:10,
        userInfo:{},
    },
    // 获取
    getters:{
      getuserInfo(state){
          return state.userInfo; 
      }
    },
    //同步
    mutations:{
        //第二各参数是载荷   也就是参数
        add(state,num){
            state.count++;
            state.set += num; 
        },
        minus (state, num) {
            state.count -= num
          },

        setUserInfo(state,userInfo){
            state.userInfo =  userInfo;
        }
    },
    //异步
    actions:{
        asyncMinus (context, payload) {
            setTimeout(() => {
              context.commit('minus', payload)
            }, 2000)
          }
    }
})
// 导出仓库
export default store